package com.hongye.util;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.googlecode.jsonplugin.JSONException;
import com.googlecode.jsonplugin.JSONUtil;

import net.sf.json.JSONArray;

/**
 * json 工具类
 * @author liushaomin
 */
public class JsonUtils {

	/**
	 * 处理快递鸟返回信息，转换格式
	 * @author liushaomin
	 * 2016年11月14日
	 * @param json
	 * @return
	 */
	public static List<Map<String, Object>> jsonKDNiao(String json) {
		List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
		list.add(deserialize(json));
		return list;
	}
	
	/**
	 * json 转 map
	 * @author liushaomin
	 * 2016年11月14日
	 * @param json
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public static Map<String, Object> deserialize(String json) {
		Map<String, Object> map = new HashMap<String, Object>();
		try {
			Object jsonobj = JSONUtil.deserialize(json);
			map = (Map<String, Object>) jsonobj;
			return map;
		} catch (JSONException e) {
			e.printStackTrace();
		}
		return map;
	}
	
	/**
	 * obj 转 string
	 * @author liushaomin
	 * 2016年11月14日
	 * @param obj
	 * @return
	 */
	public static String serialize(Object obj) {
		try {
			return JSONUtil.serialize(obj);
		} catch (JSONException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	/**
	 * josn obj转list<Map>
	 * @author liushaomin
	 * 2017年7月13日
	 * @param obj
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public static List<Map<String, Object>> toListMap(Object obj) {
		JSONArray jsonArray = JSONArray.fromObject(obj);  
		return (List<Map<String, Object>>)jsonArray;
	}
	
}
